#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;

int trailingZeroes(int n) {
    int sum = 0;
    while (n >= 5)
    {
        n /= 5;
        sum += n;
    }
    return sum;
}

void func()
{
    double d;
    scanf("%lf", &d);
    int a = d + 0.5;
    printf("%d", a);
}

int lengthOfLongestSubstring(string s) {
    int len = 0;
    int n = s.size();
    int hash[128];
    memset(hash, 0, sizeof(hash));
    for (int left = 0, right = 0; right < n; ++right)
    {
        ++hash[s[right]];
        while (hash[s[right]] > 1)
        {
            --hash[s[left++]];
        }
        if (right - left + 1 > len) len = right - left + 1;
    }
    return len;
}

double myPow(double x, int n) {
    if (n < 0) return 1 / Pow(x, -(long long)n);
    else return Pow(x, n);
}
double Pow(double x, int n)
{
    if (n == 0) return 1;
    double tmp = Pow(x, n / 2);
    return n % 2 == 0 ? tmp * tmp : tmp * tmp * x;
}